package com.tao.YanMoDesignPattern.Order.case2_Computer;

import com.tao.YanMoDesignPattern.Order.case1_Computer.Command;

/**
 * @Author Mi_Tao
 * @Date 2023/8/26
 * @Description 机箱，本身有按钮，持有按钮对应的命令对象
 * @Version 1.0
 **/
public class Box {

    private Command command;

    // 设置命令对象
    public void setCommand(Command command){
        this.command = command;
    }

    // 提供用户使用，接收并响应用户请求，相当于按钮被按下触发的方法
    public void openButtonPressd(){
        command.execute();
    }

    private Command resetCommand;
    public void setResetCommand(Command resetCommand){
        this.resetCommand = resetCommand;
    }

    // 提供给客户使用，接收并相应用户请求，相当于重启按钮被按下触发的方法
    public void resetButtonPressd(){
        resetCommand.execute();
    }

}
